package sys.useful;

import java.awt.Component;
import javax.swing.JOptionPane;

public class Msg {

    public static void erroLogin(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, "USUÁRIO OU SENHA ESTA INCORRETO\n"
                + str.toString().toUpperCase(), "ATENÇÃO", JOptionPane.INFORMATION_MESSAGE);
    }

    public static void registroDeslogado(Component frame) {
        JOptionPane.showMessageDialog(frame, "USUÁRIO DESLOGADO COM SUCESSO!", "INFORMAÇÃO", JOptionPane.INFORMATION_MESSAGE);
    }

    //Mensagens padrão de erro!
    public static void erroTabela(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, "ERRO AO ATUALIZAR A TABELA\nENTRE EM CONTATO COM O T.I\n"
                + str.toString().toUpperCase(), "ERRO", JOptionPane.ERROR_MESSAGE);
    }

    public static void erroInserir(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, "ERRO AO SALVAR\nENTRE EM CONTATO COM O T.I\n"
                + str.toString().toUpperCase(), "ERRO", JOptionPane.ERROR_MESSAGE);
    }

    public static void erroExcluir(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, "ERRO AO EXCLUIR\nENTRE EM CONTATO COM O T.I\n"
                + str.toString().toUpperCase(), "ERRO", JOptionPane.ERROR_MESSAGE);
    }

    public static void erroAlterar(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, "ERRO AO ALTERAR\nENTRE EM CONTATO COM O T.I\n"
                + str.toString().toUpperCase(), "ERRO", JOptionPane.ERROR_MESSAGE);
    }

    public static void erroRelatorio(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, "ERRO NO RELATORIO\nENTRE EM CONTATO COM O T.I\n"
                + str.toString().toUpperCase(), "ERRO", JOptionPane.ERROR_MESSAGE);
    }

    public static void erroPadrao(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, "O SISTEMA ENCONTROU UM ERRO EM SUA EXECUÇÃO\nENTRE EM CONTATO COM O T.I\n"
                + str.toString().toUpperCase(), "ERRO", JOptionPane.ERROR_MESSAGE);
    }

    public static void erroUso(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, "NÃO É POSSÍVEL EXECUTAR ESSA OPERAÇÃO\n"
                + str.toString().toUpperCase(), "ATENÇÃO", JOptionPane.ERROR_MESSAGE);
    }

    //Mensagens para o JLabel da Pesquisa
    public static String pesquisaSemResultado() {
        String Msg = "Nenhum resultado encontrado";
        return Msg;
    }

    public static String pesquisaComResultado(int i) {
        String Msg = i + " resultado(s) encontrado(s)";
        return Msg;
    }

    public static String caracterInsulficiente() {
        String Msg = "Informe ao menos 3 caracteres";
        return Msg;
    }

    //Mensagens de Alerta!
    public static void alertaUso_selecioneRegistro() {
        String str = "selecione um registro";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_CpfJaCadastrado() {
        String str = "Cpf Ja esta cadastrado";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_ContatoJaCadastrado() {
        String str = "Contato Ja esta cadastrado";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }
    
    public static void alertaUso_DependenteJaCadastrado() {
        String str = "Dependente Ja esta cadastrado";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_registroInalteravel() {
        String str = "Registro NÃO PODE SER ALTERADO";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_registroNaoPodeExcluir() {
        String str = "para o bom funcionamento do sistema esse registro não pode ser excluido";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_excluirModulo() {
        String str = "é necessário excluir primeiro os seus itens";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_selecioneCliente() {
        String str = "Selecione o Cliente";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    public static void alertaUso_selecioneLoja() {
        String str = "Selecione a loja";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

   public static void alertaUso_selecioneEmpresa() {
        String str = "Selecione a Empresa";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }
   
   public static void alertaUso_selecioneMoeda() {
        String str = "Selecione a Moeda";
        JOptionPane.showMessageDialog(null, "ATENÇÃO!\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }
   
    public static void alertaValidacao(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, "ALERTA DE VÁLIDAÇÃO:\n" + str.toString().toUpperCase(), "ALERTA", JOptionPane.WARNING_MESSAGE);
    }

    //Mensagen de Informação
    public static void informacao(Component frame, Object str) {
        JOptionPane.showMessageDialog(frame, str.toString().toUpperCase(), "INFORMAÇÃO", JOptionPane.INFORMATION_MESSAGE);
    }
    
    public static void lincencaInspirada(Component frame) {
        JOptionPane.showMessageDialog(frame, "A LINCENÇA DE USO INSPIROU!", "INFORMAÇÃO", JOptionPane.INFORMATION_MESSAGE);
    }
    
    public static void dataErrada(Component frame) {
        JOptionPane.showMessageDialog(frame, "DATA ATUAL DO SISTEMA NÃO CONFERE!", "INFORMAÇÃO", JOptionPane.INFORMATION_MESSAGE);
    }

    public static void registroSalvo(Component frame) {
        JOptionPane.showMessageDialog(frame, "REGISTRO SALVO COM SUCESSO!", "INFORMAÇÃO", JOptionPane.INFORMATION_MESSAGE);
    }
    
    public static void serialSalvo(Component frame, String msg) {
        JOptionPane.showMessageDialog(frame, msg, "INFORMAÇÃO", JOptionPane.INFORMATION_MESSAGE);
    }
    
    public static void registroFaturado(Component frame) {
        JOptionPane.showMessageDialog(frame, "VENDA FATURADA COM SUCESSO!", "INFORMAÇÃO", JOptionPane.INFORMATION_MESSAGE);
    }

    public static void registroAlterado(Component frame) {
        JOptionPane.showMessageDialog(frame, "REGISTRO ALTERADO COM SUCESSO!", "INFORMAÇÃO", JOptionPane.INFORMATION_MESSAGE);
    }

    public static void operacaoCancelada(Component frame) {
        JOptionPane.showMessageDialog(frame, "OPERAÇÃO CANCELADA COM SUCESSO!", "INFORMAÇÃO", JOptionPane.INFORMATION_MESSAGE);
    }

    public static void registroExcluido(Component frame) {
        JOptionPane.showMessageDialog(frame, "REGISTRO EXCLUÍDO COM SUCESSO!", "INFORMAÇÃO", JOptionPane.INFORMATION_MESSAGE);
    }

    //Mensagem de confirmação
    public static boolean confirmar(Component frame, Object str) {
        Object[] options = {"SIM", "NÃO"};
        int option = JOptionPane.showOptionDialog(frame, "DESEJA REALMENTE " + str.toString().toUpperCase().replaceAll("!?,.", "") + "?", "CONFIRMAR", JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[1]);

        if (option == JOptionPane.YES_OPTION) {
            return true;
        } else {
            return false;
        }
    }
    
    public static boolean confirmarRemoverEmpresa(Component frame) {
        Object[] options = {"SIM", "NÃO"};
        int option = JOptionPane.showOptionDialog(frame, "DESEJA REALMENTE REMOVER A EMPRESA?\n\nTODAS LOJAS SERÁ REMOVIDAS", "CONFIRMAR", JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[1]);

        if (option == JOptionPane.YES_OPTION) {
            return true;
        } else {
            return false;
        }
    }

    public static boolean confirmarAlteracaoPreco(Component frame, Object str) {
        Object[] options = {"SIM", "NÃO"};
        int option = JOptionPane.showOptionDialog(frame, "DESEJA " + str.toString().toUpperCase().replaceAll("!?,.", "") + "?", "CONFIRMAR", JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[1]);

        if (option == JOptionPane.YES_OPTION) {
            return true;
        } else {
            return false;
        }
    }

}
